首页

powershell 终端美化 git 分支名乱码解决办法

powershell 终端美化 git 分支名乱码解决办法 - 知乎专栏
2024-06-10 14:28:03
之前通过 on-my-posh 已经美化过一次了但是 如果我 git 分支名中有中文那么他显示的还是乱码,所以现在想让他正常显示
通过如下命令找到主题文件
打开之后搜寻一番发现
ps 脚本我不太懂,看这个文件大致可以猜出来终端中上面那一行就是 $prompt 输出后的结果,现在的问题缩小到如何让 $prompt 内包含的中文输出后正常显示?
经过尝试上图红框出输入中文输出的也是乱码,网上搜寻无果,突然想起来gb2312 这个东西,将该文件使用gb2312编码保存代码内的中文可以输出了
但右侧分支名还是乱码,猜测应该是一样的问题,那么应该会有这几种解决方案
1.
让powershell 支持utf-8。这个因为其他问题之前试过,虽然utf-8 的是正常显示了但导致本来中文能正常输出的反而不行了
2.
最好的方法应该是直接让这个脚本可以输出utf-8的字符
3.
分支名转 gb2312 再输出
接下来就是去网上找文档看有没有办法解决或者能实现我上面提出的两个方案
https://www.zhihu.com/question/54724102/answer/1035566559 发现了解决方案1的实现方法
步骤如下
1.
输入 $profile​ 得到powershell配置文件地址
1.
添加 $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
中文分支名正确显示!

另外的问题,显示 emoji

我想在最前面放一个 emoji
这个三角形的编码就是 0x1F4D0​ 但打印出来后前面多了问号,不知道什么原因,但前四位为0的emoji是可以正常显示的,可能是因为组合字的缘故。
这个问题没有想到比较好的方法,望了解者不吝赐教(´▽`ʃ♡ƪ) 。我只能暂时先用单个码点的emoji了